/**
 * Company : SIANGKLOM.
 * Created By : Chatree Siangklom
 * Created On : Oct 15, 2013  1:20:40 PM 
 * e-Mail : dr_chatree@hotmail.com
 * Mobile Phone : (+66) 087-921-5115
 * Package Name : com.tis.database.services.promis
 * File Name : ICustomerCreditNoteServices.java
 * TODO
 */
package com.tis.database.services.promis;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.criterion.Criterion;

import com.tis.database.entitys.promis.CustomerCreditNote;
import com.tis.database.entitys.promis.CustomerCreditNotePK;
import com.tis.database.entitys.promis.GlPostingDetail;

/**
 * @author Chatree Siangklom of Administrator
 * Date =Oct 15, 2013 : 1:20:40 PM 
 * CreateBy=Chatree Siangklom
 * 
 * ICustomerCreditNoteServices
 * TODO
 */
public interface ICustomerCreditNoteServices {
	
	CustomerCreditNote findById(CustomerCreditNotePK id) throws HibernateException, Exception;

	void saveOrUpdate(CustomerCreditNote e) throws HibernateException, Exception;
	
	void saveOrUpdate(List<CustomerCreditNote> e) throws HibernateException, Exception;
	
	List<CustomerCreditNote> findByCriteria(Criterion criterion) throws HibernateException, Exception;
	
	List<CustomerCreditNote> findByAll(int MaxResults) throws HibernateException, Exception;
	
	List<CustomerCreditNote> findHQLByQuery(String hql, HashMap<String, String> parameter) throws HibernateException, Exception;
	
	void SaveOrUpdateHQLByQuery(String hql, HashMap<String, String> parameter) throws HibernateException, Exception;
	
	List<CustomerCreditNote> findNameQuery(String queryName, HashMap<String, String> parameter) throws HibernateException, Exception;
	
	void SaveOrUpdateQueryName(String queryName, HashMap<String, String> parameter) throws HibernateException, Exception;
	
	BigDecimal NextSequence(String name) throws HibernateException, Exception;
	
	BigDecimal NextInstanceNo() throws HibernateException, Exception;
	
	void UpdateBackSapMessage(GlPostingDetail glPostingDetail) throws HibernateException, Exception;
	
	java.util.Date getCurrentDatabaseDate() throws HibernateException, Exception;
	
	List<CustomerCreditNote> FindByIs(String status, String syncIsstaging, String syncIssync, int maxResult) throws Exception;
	
	
}
